package com.example.helloworld.mq.entity;

import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class CanalKafkaMessage {
    // 变更后的数据
    private List<Map<String, Object>> data;
    // 数据库名
    private String database;
    // 事件时间戳（毫秒）
    private Long es;
    // 消息 ID
    private Integer id;
    // 是否为 DDL 语句
    private Boolean isDdl;
    // MySQL 字段类型
    private Map<String, String> mysqlType;
    // 变更前的数据（UPDATE 时有值）
    private List<Map<String, Object>> old;
    // 主键字段名
    private List<String> pkNames;
    // 执行的 SQL 语句
    private String sql;
    // SQL 字段类型（JDBC 类型）
    private Map<String, Integer> sqlType;
    // 表名
    private String table;
    // 处理时间戳（毫秒）
    private Long ts;
    // 事件类型（INSERT/UPDATE/DELETE）
    private String type;
}
/**
 {
 "data": [{"id": "1", "name": "test"}],
 "database": "test",
 "es": 1755160000000,
 "id": 1,
 "isDdl": false,
 "mysqlType": {"id": "int(11)", "name": "varchar(255)"},
 "old": null,
 "pkNames": ["id"],
 "sql": "",
 "sqlType": {"id": 4, "name": 12},
 "table": "user",
 "ts": 1755160001000,
 "type": "INSERT"
 }
 */